/* The file is saved in UTF-8 codepage.
 * Check: «Stereotype», Section mark-§, Copyright-©, Alpha-α, Beta-β, Smile-☺
 */
package cz.pecinovsky.english.lootp.manager;


import cz.pecinovsky.english.lootp.manager.CanvasManager_Envelope.CanvasManager;



////////////////////////////////////////////////////////////////////////////////
//%%+  +++++ End of ignored starting test - place for imports +++++

//%X+ xxxxx Start of the ovejumped text with declaration of the envelope xxxxx
/*******************************************************************************
 *<pre>
 * Previous:  {@link cz.pecinovsky.english.lootp.shapes.IPaintable}
 * Following: No
 *
 * The basic change is the alteration of the project that changes the key class
 * from the class{@link cz.pecinovsky.english.lootp.shapes.Canvas}
 * to the class {@link cz.pecinovsky.english.lootp.manager.CanvasManager}.
 * This implies also the change of the root in the inheritance hierarchy.
 * This interface ceases to be the tag interface and requests
 * implementation of the declared method {@link #paint(Painter)}.
 *
 * Project  114 - Mediator and listener
 *        >=119 - Interface implementation
 *   + Aded declaration of the method {@link #paint(Painter)}
 *</pre>
 *
 * @author Rudolf PECINOVSKÝ
 * @version 6.03.2017 — 2010-11-08
 */
////////////////////////////////////////////////////////////////////////////////
//%X- ----- End of the ovejumped text with declaration of the envelope -----


/*******************************************************************************
 * Interface {@code IPaintable} must be implemented by all classes,
 * which want their instances be accepted as manageable
 * by an instance of the class {@link CanvasManager}.
 * It is the only way, how to reach the painting the instance
 * on display.
 * <p>
 * This interface requires the instances have a method {@link #paint(Painter)}
 * that paint the instance by force of the obtained painter.
 * <p>
 * In addition the implementing class promises,
 * that their instances will immediately inform canvas
 * about any change of their appearance by calling the method
 * {@link CanvasManager#redraw()}.
 *
 * @author Rudolf PECINOVSKÝ
 * @version 6.03.2017 — 2010-11-08
 */
public interface IPaintable
{
//== CONSTANTS =================================================================
//== DECLARED METHODS ==========================================================

    /***************************************************************************
     * Paint the instance by force the specified painter.
     *
     * @param painter Painter drawing the instance
     */
//     @Override
    public void paint(Painter painter);


//== INHERITED METHODS =========================================================
//== EMBEDDED DATA TYPES =======================================================
}
